#ifndef IOADMIN_H
#define IOADMIN_H

#include <iostream>
#include "main_ui.h"
#include "QTimer"
#include "database.h"
#include "history.h"


class controller : public QObject {
    Q_OBJECT
    
private:
    // === UI组件映射 ===
    QLineEdit* ioSearchEdit;      // 搜索输入框
    QPushButton* ioSearchButton;  // 搜索按钮
    QPushButton* ioHistoryButton; // 历史记录按钮
    QTextBrowser* ioDefinitionText; // 释义显示区域
    QListWidget* ioWordLists;

    // === 数据库接口对象映射(普通单词，历史单词，收藏单词) ===
    database* ioDatabase;         // 数据库操作对象
    history* ioHistroy;

    // === UI接口对象映射 ===
    Ui_Dictionary* ioUi;

    // === 搜索功能相关成员 ===
    QString* Word=nullptr;             // 当前搜索词
    QTimer* timer;                // 搜索触发定时器

    // === 内部连接方法 ===
    void connect();               // 初始化信号槽连接
public:
    // === 构造函数 ===
    controller(Ui_Dictionary& ui,
        database& db,
        history& his
        );

    // === 基本的搜索功能 ===
    void getSearchWord();          // 获取当前搜索词
    void searchLists();            // 触发列表搜索（模糊匹配）
    void searchWord();             // 触发单词搜索（精确匹配）

    // === 历史记录相关功能 ===
    void showHistory();           // 显示历史记录
    void addHistory();            // 添加历史记录
    void deleteHistory();         // 删除历史记录

};

#endif // IOADMIN_H
